package com.zeei.ems.base.dao;

import com.zeei.ems.base.vo.AreaCodeVO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Mapper
@Repository
public interface AreaCodeDao extends Mapper {

	List<AreaCodeVO> areaCodeListTwoLevelByUser();

	/**
	 * 
	 * getAreaCodeList:(查询区域配置，传入实体类，按需求去对应参数).
	 *
	 * @param condition
	 * @return
	 */
	List<AreaCodeVO> queryAreaCodeList(Map<String, Object> condition);

	/**
	 * 比对录入区域名称与编码
	 * 
	 * 
	 * @param queryVO
	 * @return
	 */
	List<AreaCodeVO> queryAreaCodeList(AreaCodeVO queryVO);

	/**
	 * 比对录入区域名称与编码(具体查找数据)
	 * 
	 * @param queryVO
	 * @return
	 */
	List<AreaCodeVO> queryAreaNameList(AreaCodeVO queryVO);

	/**
	 * 
	 * addAreaCode:(添加区域配置信息).
	 *
	 * @param areaCodeVO
	 * @return
	 */
	Integer insertAreaCode(AreaCodeVO areaCodeVO);

	/**
	 * 
	 * editAreaCode:(修改区域信息).
	 *
	 * @param areaCodeVO
	 * @return
	 */
	Integer updateAreaCode(AreaCodeVO areaCodeVO);

	/**
	 * 
	 * deleteAreaCode:(传入ID数组执行删除).
	 *
	 * @param list
	 * @return
	 */
	Integer deleteAreaCode(List<String> list);

	/**
	 * 方法描述：查询上级信息
	 * 
	 * @param areaCodeVO
	 * @return
	 */
	List<AreaCodeVO> queryRegionInfo(AreaCodeVO areaCodeVO);

	/**
	 * queryAreaInfor:根据父级编码查询省市区信息
	 * 
	 * @param map
	 * @return List<AreaCodeVO>
	 */
	
	List<AreaCodeVO> queryAreaInfor(Map<String, Object> map);
	/**
	 * 
	 * queryAreaList: 查询区域集合
	 * 
	 * @return List<BasicTreeNodeVO>
	 */
	List<AreaCodeVO> queryAreaList();
}